#ifndef BROWSERWIDGET_H
#define BROWSERWIDGET_H

#include <QWidget>
#include <QTableView>
#include <QPushButton>
#include <QStandardItemModel>
#include <QMessageBox>
#include <QtSql>
#include <QMap>
#include <QVariant>
#include <QCloseEvent>
#include <QClipboard>
#include <QApplication>
#include <QFileDialog>
#include "ui_browserwidget.h"

class BrowserWidget: public QWidget, private Ui::BrowserWidget
{
Q_OBJECT

public:

BrowserWidget(QMap<QString, QVariant> m,
              QWidget * parent = 0);
~BrowserWidget();

int set_connection( const QString & driver,
                    const QString & dbName,
                    const QString & host,
                    const QString & user,
                    const QString & passwd,
                    int port = -1 );
void connect_db();

public slots:

void show_table( QListWidgetItem * item );
void get_metadata( QListWidgetItem * item );
void show_metadata();
void export_table();
void copy_name();
void exec_query();
void exec_query_xml();

signals:

private:

QMap<QString, QVariant> config_map;
void close_connection();
QString return_xml_end();
QString return_xml_header();

protected:

void closeEvent(QCloseEvent * e);

};

#endif // BROWSERWIDGET_H
